﻿#include "complex.h"
#include <iostream>
using namespace std;

// 通过complex类实现及测试，学习不带指针的类的实现，学习构造、赋值、以及操作符重载等等


int main()
{
    complex c2(4.0, 2.0); // 构造函数
    complex c1;
    c1 = c2; // 拷贝赋值                c1=(4.0,2.0)
    complex c3(c2); // 拷贝构造         c3=(4.0,2.0)

    c1 += c2; // +=操作符               c1=(8.0,4.0)
    c1 -= 3; // -=操作符                c1=(5.0,4.0)

    c1 = c2 + c3; // 复数 + 复数        c1=(8.0,4.0)
    c1 = c3 + 1.0; // 复数 + double     c1=(5.0,2.0)
    c3 = 2.0 + c1; // double + 复数     c3=(7.0,2.0)
    
    cout << c1 << endl; // 输出：(5, 2)
    cout << c2 << ", " << c3 << endl; // 输出：(4, 2), (7, 2)
    cout << "c2: re= " << c2.real() << ", im= " << c2.imag() << endl; // 输出：c2: re= 4, im= 2

    return 0;
}
